Traditional Internet Protocol (IP) based networks require every node to look at network layer values of an Open Systems Interconnection (OSI) model (i.e., IP addresses) within each frame, refer to local network routing databases, and then make decisions about where to forward the frames. With a large number of nodes and networks, management of the local network routing tables becomes a difficult task, both for hardware and software. In addition, current IP networks provide a single routed path between any source and a destination. Therefore, even if network bandwidth is available, current protocols are not able to utilize different paths through the IP network efficiently.
Referring to FIG. 1, a drawing of an Ethernet frame 10 routed with a conventional Multi-Protocol Label Switching (MPLS) protocol is shown. The MPLS protocol has been developed for solving the routing table and single path problems. The MPLS protocol inserts a 16-bit protocol identification field 12 and one or more 32-bit shim headers 14 between an OSI data layer (i.e., layer 2) address 16 and an OSI network layer (i.e., layer 3) address 18. Each of the shim headers 14 contains a 20-bit value called an MPLS label 20. An OSI network layer (i.e., layer 3) protocol identification field 22 of the original Ethernet frame 10 is discarded in the process.
Referring to FIG. 2, a drawing of a Point-to-Point Protocol (PPP) frame 24 routed with the conventional MPLS protocol is shown. The PPP frame 24 is processed for the MPLS protocol by removing an OSI network layer protocol identification field 26. The MPLS protocol identification field 12 and one or more shim headers 14 are then added.
A path formed by the MPLS labels 20 is called a Label Switched Path (LSP). Signaling protocols establish paths and assign the 20-bit values at nodes along the paths. In addition, signaling protocols such as Resource Reservation Protocol (RSVP) have been extended to allow path reservation using MPLS to support proper Traffic Engineering (TE) over the paths. Using the header values to identify routes, network nodes are able to avoid processing the network layer (i.e., IP) addresses at every node to determine the path for a frame.
Currently, MPLS is being used for edge, core, and long-haul networks—for both legacy as well as optical networks. Carriers are using MPLS as a foundation for next-generation network offerings. Versions of MPLS are also targeted for replacing the control plane for Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) and optical cross-connects. MPLS switching, MPLS-based data transport, MPLS virtual private networks, and so on, are presently big business. Many companies are involved in designing Complex Programmable Logic Devices (CPLDs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), boards, and systems based on MPLS.
A problem, however, is limited support for multiprotocol transport in MPLS. The MPLS protocol predominantly carries IP traffic. Other protocols can be sent, but to do so requires changes to signaling protocols. Even when the signal protocols are changed, only a single type of protocol can be carried over a single path. Each time that a new protocol is added, the signaling software needs to be upgraded at every node to account for the new protocol.
In conventional protocols, the moment a router at the edge of an MPLS network adds the MPLS labels 20 the original OSI network layer protocol identification 22/26 is lost. Thereafter, the only way for a terminal router at the end of the MPLS network to determine the OSI network layer protocol identification 22/26 required to reconstruct the Ethernet frame 10 or PPP frame 24 is to rely on signaling mechanisms within the MPLS protocol. The MPLS signaling mechanisms negotiate a protocol to be transported on an LSP. Therefore, different LSPs are required for transporting different protocols. In addition, every node along the path needs to be aware of any new protocol being established, thus resulting in a large and dynamic software/hardware infrastructure.
Another problem arises with signaling protocols such as RSVP where a path needs to be periodically refreshed to keep the path alive. Because an individual LSP is required for each flow, many LSPs are commonly required between two end points. With many LSPs, a large number of refreshes cause heavy loads on processors and on the network. The above-mentioned problems have restricted wide adoption of MPLS. In addition, MPLS systems have been complex and expensive due to additional hardware complexity required for multi-service transport.